/*
给定一个由 整数 组成的 非空 数组所表示的非负整数，在该数的基础上加一。

最高位数字存放在数组的首位， 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外，这个整数不会以零开头。

*/
class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int i=digits.size();
        for(int n=i-1;n>=0;n--){
            if(digits[n]!=9){
                digits[n]++;
                break;
            }
            else if(digits[n]==9&&n!=0){
                digits[n]=0;
            }
            else if(digits[n]==9&&n==0){
                vector<int> v(i+1);
                v[0]=1;
                return v;
            }
        }
        return digits;
    }
};